package com.punai.gk.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.punai.common.core.domain.BaseEntity;
import com.punai.common.utils.sqlite.SLCDesc;
import com.punai.common.utils.sqlite.SLTDesc;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 归口数据对象 gk_use_data
 *
 * @author ruoyi
 * @date 2023-01-06
 */
@ExcelIgnoreUnannotated
@ColumnWidth(20)
@HeadRowHeight(20)
@SLTDesc(tName = "ZD_GK")
public class GkUseData extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @ExcelProperty("ID")
    @SLCDesc(tc = "ID")
    private String id;

    /**
     * $column.columnComment
     */
    @ExcelIgnore
    private Long companyId;

    @ExcelProperty("模板id")
    @SLCDesc(tc = "TEMPLATEID")
    private String templateId;

    /**
     * 模板字段的code
     */
    @ExcelProperty("模板字段的code")
    @SLCDesc(tc = "CODEDESC")
    private String codeDesc;

    /**
     * 填写的值
     */
    @ExcelProperty("填写的值")
    @SLCDesc(tc = "VALUESTR")
    private String valueStr;

    /**
     * code_desc的对应名称的冗余
     */
    @ExcelProperty("code_desc的对应名称的冗余")
    @SLCDesc(tc = "NAMESTR")
    private String nameStr;

    /**
     * 部门id
     */
    @ExcelIgnore
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;

    /**
     * 用户id
     */
    @ExcelIgnore
    @TableField(fill = FieldFill.INSERT)
    private Long userId;

    @SLCDesc(tc = "LINKID")
    @ExcelProperty("用作关联的id")
    private String linkId;

    /**
     * 排序
     */
    @ExcelProperty("排序")
    @SLCDesc(tc = "ORDERNUM")
    private Integer orderNum;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public void setCodeDesc(String codeDesc) {
        this.codeDesc = codeDesc;
    }

    public String getCodeDesc() {
        return codeDesc;
    }

    public void setValueStr(String valueStr) {
        this.valueStr = valueStr;
    }

    public String getValueStr() {
        return valueStr;
    }

    public void setNameStr(String nameStr) {
        this.nameStr = nameStr;
    }

    public String getNameStr() {
        return nameStr;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public String getTemplateId() {
        return templateId;
    }

    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }

    public String getLinkId() {
        return linkId;
    }

    public void setLinkId(String linkId) {
        this.linkId = linkId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("companyId", getCompanyId())
                .append("codeDesc", getCodeDesc())
                .append("valueStr", getValueStr())
                .append("nameStr", getNameStr())
                .append("deptId", getDeptId())
                .append("userId", getUserId())
                .append("orderNum", getOrderNum())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .toString();
    }
}
